<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>1.普通的监视属性的操作:使用watch去操作已存在属性</title>
     <!-- 1.导入vue.js -->
    <script src="../js/vue.js"></script>
</head>
<body>
    <!-- 2.准备好一个容器-->
<div id="root">
    <h2>今天天气很{{ info }}</h2>
    <button @click="changeWeather">切换天气</button>
    <input type="text" name="isHot" id="" v-model="isHot">
</div>

</body>
<script>
    Vue.config.productionTip= false
   const vm = new Vue({
        el:'#root',
        data(){
            return {
                isHot: true
            }
        },
        //计算属性“info”
        computed:{
            info(){
                console.log("isHot发生变化后触发计算属性的方法")
                return this.isHot ? '下雨天' : '晴天'
            }
        },
        methods:{
            changeWeather(){
                console.log("点击事件触发：","fasd")
                this.isHot = !this.isHot
            }
        },
        // watch:{
        //     isHot:{
        //         handler(newValue,oldValue){
        //             console.log('isHot被修改了',newValue,oldValue)
        //         }
        //     }
        // }
    })
    /**正常的写法  调用Vue里面的函数，
    *也是一种api的方式，这种api 中spring项目里面叫接口
    */
    vm.$watch('isHot',{
        immediate:true, //初始化时让handler调用一下
        //handler什么时候调用？当isHot发生改变时。
        handler(newValue,oldValue){
            console.log('isHot被修改了',newValue,oldValue)
        }
    })
</script>
    
</html>